package com.relytosoft.mizar.media.display.api.entity;

import com.relytosoft.mizar.media.display.api.enums.PtzCommand;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 云台控制类
 *
 * @author hj
 * @version 1.0
 * @date 2022/4/7 16:48
 * @ClassName PtzControl
 */
@ApiModel("云台控制参数")
public class PtzControl  implements Serializable {

    private static final long serialVersionUID = 5484145512637943536L;

    @ApiModelProperty(value = "通道id",required = true)
    @NotNull(message = "通道id不能为空！")
    private Integer channelId;

    @ApiModelProperty(value = "控制命令",required = true)
    @NotNull(message = "控制命令不能为空！")
    private PtzCommand command;

    @ApiModelProperty(value = "运行速度，默认50")
    private Integer speed = 50;

    @ApiModelProperty(value = "预置位id")
    private Integer presetIndex;

    @ApiModelProperty(value = "操作方法 0-开始，1-停止" , required = true)
    @NotNull(message = "操作方法不能为空！")
    private Integer action;


    public Integer getAction() {
        return action;
    }

    public void setAction(Integer action) {
        this.action = action;
    }

    public Integer getChannelId() {
        return channelId;
    }

    public void setChannelId(Integer channelId) {
        this.channelId = channelId;
    }

    public PtzCommand getCommand() {
        return command;
    }

    public void setCommand(PtzCommand command) {
        this.command = command;
    }

    public Integer getSpeed() {
        return speed;
    }

    public void setSpeed(Integer speed) {
        this.speed = speed;
    }

    public Integer getPresetIndex() {
        return presetIndex;
    }

    public void setPresetIndex(Integer presetIndex) {
        this.presetIndex = presetIndex;
    }
}
